﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AG.Comunes.Entidades
{
    public class Usuario
    {
        #region Atributos

        private int _idUsuario;
        private string _ci;
        private string _correo;
        private string _nombre;
        private string _apellido;
        private string _password;
        private int _totalTickets;
        private int _status;
        private int _statusMail;
        private DateTime _fechaCreacion;
        private List<Direccion> _direccion;
        private List<Invitacion> _invitaciones;
        private List<Cupon> _cupones;
        private List<Canjeo> _canjeos;
        private List<RegistroConexion> _conexiones;

        #endregion FinAtributos

        #region Constructores

        /// <summary>
        /// Constructor Predeterminado
        /// Carga automaticamente la fecha actual dentro del fechaCreacion
        /// </summary>
        public Usuario() 
        {
            _fechaCreacion = DateTime.Now;
        }

        #endregion

        #region Propiedades

        public int IdUsuario
        {
            get { return _idUsuario; }
            set { _idUsuario = value; }
        }

        public string CI
        {
            get { return _ci; }
            set { _ci = value; }
        }

        public string Email
        {
            get { return _correo; }
            set { _correo = value; }
        }

        public string Nombre
        {
            get { return _nombre; }
            set { _nombre = value; }
        }

        public string Apellido
        {
            get { return _apellido; }
            set { _apellido = value; }
        }

        public string Password
        {
            get { return _password; }
            set { _password = value; }
        }

        public int TotalTickets
        {
            get { return _totalTickets; }
            set { _totalTickets = value; }
        }

        public DateTime FechaDeCreacion
        {
            get { return _fechaCreacion; }
            set { _fechaCreacion = value; }
        }

        public List<Direccion> Direcciones
        {
            get { return _direccion; }
            set { _direccion = value; }
        }

        public int StatusDelUsuatio
        {
            get { return _status; }
            set { _status = value; }
        }

        public int StatusEnvioMail
        {
            get { return _statusMail; }
            set { _statusMail = value; }
        }

        public List<Invitacion> Invitaciones
        {
            get { return _invitaciones; }
            set { _invitaciones = value; }
        }

        public List<Cupon> Cupones
        {
            get { return _cupones; }
            set { _cupones = value; }
        }

        public List<Canjeo> Canjeos
        {
            get { return _canjeos; }
            set { _canjeos = value; }
        }

        public List<RegistroConexion> ConexionesRegistro
        {
            get { return _conexiones; }
            set { _conexiones = value; }
        }

        #endregion FinPropiedades
    }
}
